<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>vue.js - 基础</title>
</head>
<body>
    <div id="app">
        <btn-a></btn-a>
        <btn-b></btn-b>
     
    </div> 

    <!-- 引入vue框架 开发版 :包含警告 和调试信息 -->
    <script src="../lib/vue.js"></script>
    <script>
        Vue.prototype.$bus=new Vue();
        Vue.component('btn-a',{
            template:`<button @click="add">A按钮-{{count}}</button>`,
            data(){
                return{
                    count:0
                }

            },
            // 1.监听事件
            mounted(){
                this.$bus.$on('abc',(e)=>{
                    console.log("已经监听到bus中的abc事件：",e);
                })

            },
            methods:{
                add(){
                    console.log(this);
                    //触发事件
                    this.$bus.$emit('abc2',789456);

                }
            }

        })

        Vue.component('btn-b',{
            props:['num'],
            template:`<button @click="add">B按钮-{{0}}</button>`,
                      // 1.监听事件
            mounted(){
                this.$bus.$on('abc2',(e)=>{
                    console.log("已经监听到bus中的abc事件：",e);
                })

            },
            methods:{
                add(){
                    console.log(this);
                    // 2.向通信总线的
                    this.$bus.$emit('abc',123456);

                }
            }

        })

        //vm 就是根组件
        let vm = new Vue({
            el:"#app",//指定Vue挂载的DOM
            data:{//当前vue实例中使用的数据

            },
            methods:{//当前Vue实例中使用到的方法

            }
        })
    </script>
</body>
</html>